import { User } from '../users/user.dto'
import { Gender, ReviewStatus } from '../enum'
import { Album } from './album.dto'
import { Song } from './song.dto'

export interface Artist {
  id: number;
  name: string;
  alternateNames: string[];
  gender: Gender | null;
  birthday: Date | null;
  description: string;
  _images?: any; // 上传文件时使用该参数
  images: string[];
  visible: boolean;
  createdAt: Date;
  updatedAt: Date;
  hasSongs: Song[];
  hasAlbums: Album[];
  hasProducedAlbums: Album[];
  editions: ArtistEdition[];
  followers: Partial<User>[];
  followersCount: number;
}

export interface ArtistEdition {
  id: number;
  artist: Artist;
  editor: User;
  description: string;
  note: string;
  reviewStatus: ReviewStatus;
  createdAt: Date;
  updatedAt: Date;
}
